home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
AOL File Library: 2,801 to 2,900
/
aol-file-protocol-4400-2801-to-2900.zip
/
AOLDLs
/
C++ Files Library
/
Acere (PowerPlant, Game) 1.2
/
AcereÄ.sit
/
Acereƒ
/
Code
/
CardDeck.h
< prev
next >
Wrap
C/C++ Source or Header
|
1995-03-05
|
2KB
|
98 lines
#pragma once
#include <LPane.h>
#ifndef __QDOFFSCREEN__
#include <QDOffscreen.h>
#endif
#include "CardDragTask.h"
#define NumCards 52
#define NumSuits 4
#define NumCardsPerSuit 13
#define blackCard true
#define redCard false
#define kStubHeight 18
class CardWell;
typedef struct CardStruct
{
short suit;
short card;
Boolean color;
CardWell *itsOwner;
} CardStruct;
class PlayingCard : public LPane
{
public:
short suit;
short card;
Boolean color;
CardWell *itsOwner;
// stuff added later;
short itsPosition;
PlayingCard(CardStruct *theStruct /*, LView *itsSuperView */);
virtual ~PlayingCard();
virtual void FillDataStruct(CardStruct *theStruct);
// virtual void CopyCard(PlayingCard *theStruct);
friend class CardDragTask;
} ;
class CardDeck
{
public:
Byte theCards[NumCards];
Byte theCardPositions[NumCards];
CIconHandle suitCIcons[NumSuits];
short columnOffsets[3];
private:
short nextCardPosition;
GWorldPtr cardGWorld;
PixMapHandle offScreen, onScreen;
Rect gwRect;
CGrafPtr mSavePort;
GDHandle mSaveDevice;
RgnHandle fullCardMask;
RgnHandle shortCardMask;
public:
CardDeck();
virtual ~CardDeck();
virtual void GenerateNewDeck(Boolean doOffScreenDraw);
virtual void ZapOldDeck();
virtual void DrawCard(PlayingCard *whichCard, Rect theRect, Boolean highlight);
virtual void DrawCardOffScreen(CardStruct *whichCard, Rect theRect, Boolean highlight);
virtual void CalcOffScreenRect(PlayingCard *whichCard, Rect *theRect);
virtual void CalcOffScreenRect(CardStruct *whichCard, Rect *theRect);
// virtual void DrawShortCardBoundary(Rect theRect);
virtual void GetShortCardMask(void);
virtual short GetNextCardPosition(void);
virtual short GetPositionValue(short whichPosition);
virtual short GetCardWidth(void);
virtual short GetCardHeight(void);
virtual void GetCardInfo(short whichCard, CardStruct *cardInfo);
virtual void GetCardInfo(short whichCard, PlayingCard *cardInfo);
} ;
void SizeRect(Rect *theRect, short width, short height);
short GetRowOffset(short whichRow, short numRows);